package tau.adx.common.messages.auction;

import tau.adx.common.publishers.AdxPublisher;
import tau.adx.common.publishers.reserve.ReservePriceManager;
import tau.adx.common.users.AdxUser;
import tau.adx.simulator.AdX;

/**
 * Indicates a reason for the cancellation of an
 * {@link AdX#runAuction(AdxUser, AdxPublisher, double) auction} in the system.
 * 
 * @author greenwald
 * 
 */
public enum CancellationReason {
	/**
	 * All of the bids that took part in the
	 * {@link AdX#runAuction(AdxUser, AdxPublisher, double) auction} were lower
	 * than the {@link ReservePriceManager#generateReservePrice() reserve price}
	 * demanded by the participating publisher.
	 */
	LOW_BIDS, /**
	 * No bids were available to perform
	 * {@link AdX#runAuction(AdxUser, AdxPublisher, double) auction} with.
	 */
	NO_BIDS
}